import axios from 'axios'
import Element from 'element-ui'
import router from './router'
import store from './store'

axios.defaults.baseURL = 'http://localhost:8081'

//前置拦截
axios.interceptors.request.use(config => {
    console.log('config:', config)
    return config
})

axios.interceptors.response.use(response => {
        let res = response.data

        console.log("==============")
        console.log(res)
        console.log("==============")

        //判断密码
        // 当结果的code是否为200的情况
        if (res.code === 200) {
            return response
        } else {
            // 弹窗异常信息
            Element.Message.error('错了哦，这是一条错误消息', {duration: 3 * 1000});
            // Element.Message({
            //     message: response.data.msg,
            //     type: 'error',
            //     duration: 2 * 1000
            // })
            // 直接拒绝往下面返回结果信息
            return Promise.reject(response.data.msg)
        }
    }, error => {
        console.log('err' + error)  // 用户名错误
        if (error.response.data) {
            error.message = error.response.data.msg
        }

        // 根据请求状态觉得是否登录或者提示其他
        if (error.response.data === 401) {
            store.commit("REMOVE_INFO")
            router.push("/login")
            error.message = '请重新登录'
        }

        if (error.response.status === 403) {
            error.message = '权限不足，无法访问';
        }

        Element.Message.error(error.message, {duration: 3 * 1000});
        return Promise.reject(error)

    }
)